cmake_minimum_required(VERSION 3.29.0)
set(CMAKE_CXX_STANDARD 17)
project(Planning)

# 设置动态库和可执行文件的输出路径
# 注：CMAKE_RUNTIME_OUTPUT_DIRECTORY 仅适用于 Windows 平台，
# 如果是 linux 平台则需要使用 CMAKE_LIBRARY_OUTPUT_DIRECTORY，并且 linux 平台下静态库
# 的环境变量为 CMAKE_ARCHIVE_OUTPUT_DIRECTORY
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin) 

# 指定动态库源文件路径并用变量 SRC_FILES 表示
# 定义动态库：名称common 类型SHARED 源文件SRC_FILES
# 指定动态库头文件路径
aux_source_directory(${PROJECT_SOURCE_DIR}/src SRC_FILES)
add_library(
    common
    SHARED
    ${SRC_FILES}
)
target_include_directories(common PUBLIC ${PROJECT_SOURCE_DIR}/include)

# 定义可执行文件名称及源文件
add_executable(Planning planning_main.cpp) 

# 配置可执行文件头文件
target_include_directories(Planning PUBLIC ${PROJECT_SOURCE_DIR}/include)

# 链接动态库
target_link_libraries(Planning PUBLIC common)